package com.wn.icloud.auth.service;


import com.wn.icloud.common.msg.ObjectRestResponse;
import com.wn.icloud.common.util.user.JwtAuthenticationRequest;
import com.wn.icloud.provider.uac.remote.vo.LoginReqVO;
import com.wn.icloud.provider.uac.remote.vo.ResetUserPassWordReqVO;

public interface AuthService {

    ObjectRestResponse login(LoginReqVO loginReqVO) throws Exception;

    ObjectRestResponse loginPhone(LoginReqVO loginReqVO) throws Exception;


    String refresh(String oldToken) throws Exception;

    void validate(String token) throws Exception;

    /**
     * 生成测试用token
     * @param userName
     * @param userId
     * @throws Exception
     */
    String genTestToken(String userName, String userId) throws Exception;


    ObjectRestResponse resetPassCode(ResetUserPassWordReqVO resetUserPassWordReqVO);

    /**
     * 重置用户密码
     * @param resetUserPassWordReqVO
     * @return
     */
    ObjectRestResponse resetUserPassWord(ResetUserPassWordReqVO resetUserPassWordReqVO);

    /**
     * 获取版本信息
     */
    ObjectRestResponse versionInfo(String version);
}
